package com.sxt.domain;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * 车辆出租记录实体类
 * bus_rent
 * @author 
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BusRent implements Serializable {
    /**
     * 出租记录ID
     */
    private Integer id;

    /**
     * 车牌号
     */
    @NotEmpty(message = "车牌号不能为空")
    @Length(max = 8,message = "车牌号最多8位")
    private String num;

    /**
     * 车型  1 轿车 2 SUV  3跑车
     */
    @NotNull(message = "车型不能为空")
    @Range(min = 1,max = 3,message = "车型的值1~3")
    private Integer type;

    /**
     * 租金
     */
    @NotNull(message = "租金不能为空")
    @Range(min = 1,max = 999999999,message = "租金范围:1~999999999")
    private Integer rentPrice;

    /**
     * 押金
     */
    @NotNull(message = "押金不能为空")
    @Range(min = 1,max = 999999999,message = "押金范围:1~999999999")
    private Integer deposit;

    /**
     * 客户名称
     */
    private String name;

    /**
     * 客户身份证号
     */
    @NotEmpty(message = "身份证号不能为空")
    @Length(min = 18,max = 18,message = "身份证号18位")
    private String idCard;

    @NotEmpty(message = "出租时间不能为空")
    private String rentTime;

    /**
     * 计划租车开始时间
     */
    private String beginTime;

    /**
     * 计划租车的结束时间
     */
    private String endTime;

    /**
     * 状态  1 未还车  2 已还车
     */
    private Integer flag;

    /**
     * 业务员ID
     */
    private Integer userId;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;

    private static final long serialVersionUID = 1L;
}